package org.jdesktop.swingx.renderer;

import java.awt.LayoutManager;
import java.awt.Rectangle;

import javax.swing.JPanel;

/**
 * An implementation of JPanel used for rendering. It overrides methods for
 * performance reasons.
 * 
 * @author kschaefer
 */
public class JRendererPanel extends JPanel {
	public JRendererPanel() {
		super();
	}

	/**
	 * @param layout
	 */
	public JRendererPanel(LayoutManager layout) {
		super(layout);
	}

	/**
	 * {@inheritDoc}
	 * <p>
	 * 
	 * Overridden to not automatically de/register itself from/to the
	 * ToolTipManager. As rendering component it is not considered to be active
	 * in any way, so the manager must not listen.
	 */
	@Override
	public void setToolTipText(String text) {
		putClientProperty(TOOL_TIP_TEXT_KEY, text);
	}

	/**
	 * Overridden for performance reasons. See the <a
	 * href="#override">Implementation Note</a> for more information.
	 */
	@Override
	public void revalidate() {
	}

	/**
	 * Overridden for performance reasons. See the <a
	 * href="#override">Implementation Note</a> for more information.
	 */
	@Override
	public void repaint(long tm, int x, int y, int width, int height) {
	}

	/**
	 * Overridden for performance reasons. See the <a
	 * href="#override">Implementation Note</a> for more information.
	 */
	@Override
	public void repaint(Rectangle r) {
	}

	/**
	 * Overridden for performance reasons. See the <a
	 * href="#override">Implementation Note</a> for more information.
	 *
	 * @since 1.5
	 */
	@Override
	public void repaint() {
	}

	/**
	 * Overridden for performance reasons. See the <a
	 * href="#override">Implementation Note</a> for more information.
	 */
	@Override
	protected void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
	}

	/**
	 * Overridden for performance reasons. See the <a
	 * href="#override">Implementation Note</a> for more information.
	 */
	@Override
	public void firePropertyChange(String propertyName, boolean oldValue, boolean newValue) {
	}
}